package common.qiniu

import com.jfinal.kit.PropKit
import utils.NetworkUtil

object QiniuContentSafe {
    val OUT_LINK_DOMAIN = PropKit.use("local.properties").get("qn_outlink_domain")

    /*
    *  review: 是否需要人工复审该图片，鉴黄服务是否对结果确定(true：需要，false：不需要)
    *  rate: 介于0-1间的浮点数，表示该图像被识别为某个分类的概率值，概率越高，机器越肯定。
    *  label: 介于 -1 和 2 之间的整数，表示该图像被机器判定为哪个分类，分别对应： 0：色情； 1：性感； 2：正常；-1：说明该图片格式不被支持，或者图片有损坏等异常。
    * */
    fun picturenrop(key: String): SafeResult? {
        return identificationPicture(key, "nrop")
    }

    /*
    *  rate: 介于0-1间的浮点数，表示该图像被识别为某个分类的概率值，概率越高，机器越肯定。
    *  label: 0正常；1暴恐。
    *  review: 是否需要人工复审图片（true需要；false不需要），鉴暴恐服务是否对结果确定（true不确定；false确定）。
    * */
    fun pictureTerror(key: String): SafeResult? {
        return identificationPicture(key, "terror")
    }

    private fun identificationPicture(key: String, type: String): SafeResult?{
        val url = "$OUT_LINK_DOMAIN/$key?$type"
        val response = NetworkUtil.get(url)
        if (response.code() == 200){
            val body = response.body()?.string()
            return SafeResult.fromJson(body)
        }
        return  null
    }

}